package com.gs.entity;

import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
public class GeneralPage<T> implements Serializable {


    /**
     * 总页数
     */
    private Integer pageCount = 0;

    /**
     * 总数据量
     */
    private Integer total = 0;
    /**
     * 每页显示条数，默认 10
     */
    private Integer pageSize = 10;
    /**
     * 当前页
     */
    private Integer page = 1;
    /**
     * 数据列表
     */
    public List<T> list;

    // 当前页 每页数据 多少页 总数据量 数量列表

    public GeneralPage (Integer page, Integer count, List<T> list) {
        this.page = page;
        this.total = count;
        this.list = list;

        // 总页数
        if(ObjectUtil.isNotEmpty(list)) {

            if(this.total % this.pageSize == 0) {
                this.pageCount = this.total / this.pageSize;
            }else {
                this.pageCount = (this.total / this.pageSize) + 1;
            }

        }
    }
}
